<?php

if(!defined('IN_ECS'))
{
	die('Hacking attempt');
}

class ecs_error
{
	var $_message	= array();
	var $_template	= '';
	var $error_no	= 0;
	
	function __construct($tpl)
	{
		$this->ecs_error($tpl);
	}
	
	function ecs_error($tpl)
	{
		$this->_template = $tpl;
	}
	
	function add($msg,$errno =1)
	{
		if(is_array($msg))
		{
			$this->_message = array_merge($this->_message,$msg);
		}
		else
		{
			$this->_message[]	= $msg;
		}
		
		$this->error_no	= $errno;
	}
	
	function clean()
	{
		$this->_message	= array();
		$this->error_no	= 0;
	}
	
	function get_all()
	{
		return $this->_message;
	}
	
	function last_message()
	{
		return array_slice($this->_message, -1);
	}
	
	function show($link = '',$href = '')
	{
		if($this->error_no > 0)
		{
			$message = array();
			
			$link = (empty($link)) ? $GLOBALS['_LANG']['back_up_page'] : $link;
			$href = (empty($href)) ? 'javascript:history.back();' : $href;
			$message['url_info'][$link] = $href;
			$message['back_url']		= $href;
			
			foreach($this->_message AS $msg)
			{
				$message['content'] = '<div>' . htmlspecialchars($msg) .'</div>';
			}
			
			if(isset($GLOBALS['smarty']))
			{
				assign_template();
				$GLOBALS['smarty']->assign('auto_redirect',TRUE);
				$GLOBALS['smarty']->assign('message',$message);
				$GLOBALS['smarty']->display($this->_template);
			}
			else 
			{
				die($message['content']);
			}
			
			exit;
		}
	}
}

